home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 031-040 / amok35 / spellchecker / spellchecker.dok < prev    next >
Text File  |  1993-11-04  |  14KB  |  241 lines

  1. SpellChecker - kurze Dokumentation für Benutzer
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3. Bei diesem Programm handelt es sich, wie der Name schon sagt, um ein
  4. Programm zur Überprüfung der korrekten Schreibweise von Worten in
  5. Textfiles. Am besten funktioniert das natürlich bei reinen
  6. ASCII-Texten, wie sie z.B. Editoren wie DME oder M2Emacs erzeugen. Die
  7. Files dürfen auch Steuerzeichen enthalten, z.B. die Amiga-spezifischen
  8. Escape- oder CSI-Sequenzen für Farbumschaltung usw. Diese
  9. Steuerzeichen werden einfach überlesen. In Prinzip funktioniert das
  10. Programm auch mit Files, die von Textverarbeitungsprogrammen erzeugt
  11. worden sind, allerdings kann es Probleme geben bei Textverarbeitungen,
  12. die wie Beckertext den Text mit Zeilen konstanter Länge abspeichern.
  13. Man kann dann zwar mit dem SpellChecker falsche Buchstaben ändern,
  14. aber wenn sich die Länge einer Zeile ändert, wird das
  15. Textverarbeitungsprogramm das File später nicht mehr korrekt einlesen.
  16. Die meisten Textverarbeitungen erlauben es allerdings, Texte auch im
  17. ASCII-Format zu speichern. Dann kann man den SpellChecker ohne
  18. Bedenken benutzen.
  19.  
  20. Im Prinzip funktioniert der SpellChecker folgendermaßen: In einer
  21. Liste sind viele richtig geschriebene Worte vermerkt. Soll nun ein
  22. Text auf korrekte Schreibweise überprüft werden, so wird von diesem
  23. Text Wort für Wort gelesen und nachgesehen ob dieses Wort in der Liste
  24. vorhanden ist. Ist es vorhanden, so wird es als richtig angenommen und
  25. es wird das nächste Wort untersucht, andernfalls könnte es falsch sein
  26. und der Benutzer muß selber entscheiden.
  27.  
  28. Das ist also im Prinzip ganz einfach, aber wo bekommt man die Liste
  29. mit den Worten her? Zumal an die Liste noch folgende Forderungen zu
  30. stellen sind: Sie sollte den gesamten Grundwortschatz enthalten, also
  31. mindestens 10000 Worte, sie sollte nach Möglichkeit keine
  32. Rechtschreibfehler enthalten und ebenfalls keine extrem seltenen
  33. Worte, welche nur Platz wegnehmen: Die Worte haben wir zum Glück
  34. schon, nämlich in den Textfiles auf Diskmagazinen und PD-Disks (z.B.
  35. Amiga-Juice-Magazin oder AMOK-Disk). Wir brauchen also nur noch ein
  36. Programm, das diese Texte durchsucht, die einzelnen Worte extrahiert
  37. und in die Liste einträgt. Vermerkt man in der Liste nicht nur die
  38. Worte, sondern auch deren Häufigkeit, mit der sie in den Textfiles
  39. auftraten, so kann man später alle Worte mit geringer Häufigkeit
  40. löschen. Dadurch vernichtet man sowohl die falsch geschriebenen Worte
  41. als auch die extrem seltenen. Damit wäre auch schon das Prinzip
  42. erklärt, jetzt zur Benutzung des Programmes.
  43.  
  44. Starten Sie das Programm von der Workbench oder vom CLI aus. Beachten
  45. sie aber, daß das Programm das Device T: und die ARP-Library benötigt.
  46. (Das Device T: dient zum Zwischenspeichern temporärer Dateien und kann
  47. z.B. folgendermaßen angemeldet werden: Makedir ram:t Assign T: ram:T
  48. Die ARP-Library sollte ohnehin jeder ernsthafte Amiga-Benutzer
  49. besitzen, sie ist z.B. auf der AmigaJuice15-PD-Diskette enthalten und
  50. muß nach Libs: kopiert werden.) Außerdem sollten sie vor dem Starten
  51. des Programmes den freien Speicher überprüfen. Pro Wort werden 16 Byte
  52. benötigt, bei 10000 Worten also schon 160000 Byte allein für die
  53. Wörterliste. Sie sollten also schon mindestens 300 kByte freien
  54. Speicher haben, bevor sie das Programm starten. (Falls Ihr Speicher
  55. sehr klein ist, sollten Sie das Device T: lieber auf einer Diskette
  56. oder Festplatte anmelden). Starten Sie das Programm nun endlich. Sie
  57. sehen vor sich ein Window mit 10 Anklick-Gadgets und einem
  58. StringGadget. Sie können das Fenster wie üblich verschieben oder in
  59. den Hintergrund klicken. Durch Anklicken von "Quit" (links unten) oder
  60. des Window-Close-Gadgets (links oben) beenden sie das Programm wieder.
  61. Wie im Textfeld angezeigt wird, enthält das Programm momentan 0
  62. Wörter. Sie müssen also zunächst ein Lexikon einladen oder eines
  63. generieren. Die Generierung ist nur einmal nötig, danach kann man das
  64. Lexikon abspeichern, und immer wieder einladen. Eigentlich brauchen
  65. Sie die Generierung überhaupt nicht, da ich mit diesem Programm
  66. mindestens ein Lexikon mitliefern werde. Die Generierung ist aber
  67. nützlich, wenn man ein vorhandenes Lexikon erweitern will oder ein
  68. neues für eine andere Sprache aufbauen will. Für die Generierung
  69. braucht man mindestens ein (großes) Textfile, das die Worte enthält,
  70. die man in das Wörterbuch aufnehmen will. Dieses Textfile darf
  71. durchaus Steuerzeichen enthalten, sofern sie nicht mit Worten
  72. verwechselt werden können. Von diesem Programm werden zusammenhängende
  73. Buchstaben generell als Worte aufgefaßt. Alles was kein Buchstabe ist,
  74. trennt Worte voneinander und wird ignoriert, insbesondere werden auch
  75. die Amiga-spezifischen ESC- und CSI-Steuercodes ignoriert. Weitere
  76. Einzelheiten stehen in dem Text "Genauere Information". Am besten
  77. kopieren sie die Files, die sie für die Generierung verwenden wollen,
  78. alle auf eine formatierte Diskette. Dann verbinden Sie alle diese
  79. Texte mit dem Join-Befehl, z.B.:
  80.  
  81. Join df0:Text1 df0:Text2 df0:NochEinText AS df1:GrossesTextFile
  82.  
  83. Nun kann die eigentliche Generierung beginnen. Es befindet sich also
  84. auf DF1: ( oder bei genügend Ram in der RAM-DISK) ein großes Textfile
  85. mit den Worten, die in das Lexikon aufgenommen werden sollen. Klicken
  86. Sie das Gadget "ExpandLex" an. Es erscheint der ARP-FileRequester.
  87. Dieser FileRequeser ist so logisch aufgebaut, daß ich mir eine
  88. Erklärung sparen möchte, wahrscheinlich kennen sie ihn ohnehin schon.
  89. Laden sie das File nun ein. Der Requester verschwindet, alle Gadgets
  90. werden gepunktet dargestellt und der Mauszeiger schläft. Jetzt wird
  91. der Text durchsucht und die Worte werden in das Lexikon eingetragen.
  92. War das Lexikon vorher leer, so wird ein Neues aufgebaut, andernfalls
  93. werden die gefundenen Worte zum alten Lexikon hinzugefügt. Diese
  94. Generierung benötigt etwas Zeit, z.B. hat es bei mir über eine Stunde
  95. gedauert, um aus einen 600 kByte langen Text ein Wörterbuch mit 10000
  96. Worten aufzubauen. Dabei hatte ich den Quelltext in der Ram-Disk, auf
  97. Diskette hätte es also noch länger gedauert. Aber wie schon gesagt ist
  98. die Generierung eines neuen Lexikons höchstens ein mal erforderlich.
  99. Ist die Generierung abgeschlossen, so ertönt ein kurzer Piepton und im
  100. Textfeld steht jetzt, wie viele Worte das Lexikon enthält. In gleicher
  101. Weise können Sie das Lexikon mit anderen Texten weiter ausbauen.
  102.  
  103. Am besten speichern sie das Lexikon jetzt zuerst einmal ab. Klicken
  104. Sie auf SaveLex. Es erscheint wieder der FileRequester. Wählen sie das
  105. Laufwerk aus, ändern sie eventuell den Filenamen im Stringgadget und
  106. klicken sie auf OK zum abspeichern.
  107.  
  108. Jetzt können sie erstmal eine Pause einlegen und den Rechner etwas
  109. ausruhen lassen.
  110.  
  111. Haben sie das Programm verlassen, so starten sie es wieder und klicken
  112. auf "LoadLex" um das vorher gespeicherte Lexikon einzuladen. Das
  113. Lexikon enthält jetzt fast alle Wörter, die in den Texten, die sie zur
  114. Generierung benutzt haben, vorkamen. Also auch Eigennamen, seltene
  115. Worte und falsch geschriebene Worte. Im Textfeld steht unter der
  116. Wortanzahl noch der Text MinCount und MaxCount. Diese beiden Felder
  117. zeigen an, wie häufig die Worte, die im Lexikon stehen, in den zur
  118. Generierung benutzten Texten gefunden wurden. MinCount gibt die
  119. minimale Häufigkeit, MaxCount die maximale Häufigkeit an. MinCount hat
  120. in der Regel den Wert eins, da in Text einige Worte nur einmal
  121. auftauchten, z.B. Straßennamen oder Schreibfehler. MaxCount wird einen
  122. recht großen Wert annehmen, da Worte wie "der" "die" "ein" in der
  123. Regel recht oft vorkommen. Die Worte mit geringer Häufigkeit wird man
  124. in der Regel aus den Lexikon entfernen wollen. Klicken Sie dazu
  125. "CleanLex" an. Nach einigen Sekunden ertönt ein Piep, die Anzahl Worte
  126. hat sich verringert und MinCount hat sich erhöht. CleanLex löscht also
  127. aus dem Lexikon alle Worte mit der momentan geringsten Häufigkeit. Das
  128. erste Klicken auf "CleanLex" löscht also alle Worte der Häufigkeit 1,
  129. das nächste Anklicken die Worte der Häufigkeit 2 usw. Klicken Sie
  130. sooft CleanLex, bis das Lexikon eine handliche Größe angenommen hat,
  131. also ca. 10- 20000 Worte und speichern sie es dann ab.
  132.  
  133. Nun können Sie Ihre Texte auf richtige Schreibweise überprüfen:
  134. Klicken Sie auf "CheckText" und laden sie den Text ein. Jetzt wird der
  135. Text durchsucht. Wird ein Wort nicht im Lexikon gefunden, so wird es
  136. im StringGadget angezeigt und kann dort eventuell korrigiert werden.
  137. Achtung: Das Wort wird in jeden Fall in der Form, wie es im
  138. StringGadget steht, in ihren Text übernommen. Das StringGadget hat die
  139. bekannten Edierfunktionen wie Cursorbewegung, Einfügen, Löschen usw.
  140. Klicken sie jetzt auf "Ignore" oder betätigen sie nur die
  141. Return-Taste, so wird das Wort zwar im Text verändert, aber es wird
  142. nicht ins Lexikon übernommen. Klicken Sie aber auf "AddToLex", so wird
  143. das Wort ins Lexikon übernommen. Verfahren Sie mit allen weiteren
  144. gefundenen Worten entsprechend. Sie können die Korrektur auch
  145. vorzeitig abbrechen, indem Sie "Quit" oder das CloseGadget anklicken.
  146. Das TextFile bleibt dann unverändert und sie kommen wieder ins
  147. Hauptmenü. Noch eine Bemerkung. Das Programm unterscheidet Groß- und
  148. Kleinschreibung. Es weiß, daß am Satzanfang, also nach ".", ":", "!"
  149. oder "?" immer groß geschrieben wird. Im Lexikon stehen die Worte in
  150. ihrer natürlichen Schreibweise. Fügen sie also nicht Worte, die nur
  151. weil sie am Satzanfang stehen, momentan groß geschrieben sind, dem
  152. Lexikon hinzu! Nocheinmal: Wenn in dem StringGadget ein groß
  153. geschriebenes Wort steht, so dürfen Sie nur dann AddToLex anklicken,
  154. wenn es sich um ein Hauptwort, ein Verb das als Hauptwort gebraucht
  155. wird, oder um einen Namen handelt: Beispiel für wirklich große Worte:
  156. "Baum", "Stuhl", "das Neue ist ..." "durch Lesen", "Stefan". Alles
  157. andere wie "der" "alles" "hier" usw. darf dem Lexikon nur in kleiner
  158. Schreibweise zugeführt werden. (Im Textfeld sehen sie auch die
  159. Umgebung des als falsch erkannten Wortes, wobei alle Zeichen, die
  160. nicht druckbar sind, durch einen Unterstrich '_' dargestellt werden).
  161.  
  162. Nun zum DeleteGadget: Hiermit ist es möglich, gezielt Worte aus dem
  163. Lexikon zu entfernen. Geben sie das Wort im StringGadget ein und
  164. Drücken sie Return oder Klicken sie auf "DelWord". Das Wort wird im
  165. Lexikon gesucht und falls gefunden auch gelöscht. Damit kann man
  166. leicht Worte, von denen man vermutet, das sie im Lexikon sind, sie
  167. dort aber nicht hingehören, löschen, z.B. Namen. Durch anklicken von
  168. "Quit" oder des CloseGadgets verlassen sie diesen Modus wieder.
  169.  
  170. Als letztes Gadgets bleibt "Export". Damit kann man alle Worte des
  171. Lexikons in eine Textdatei schreiben. Diese Datei kann man dann mit
  172. einen Texteditor ansehen. Das beruhigt, falls man befürchtet, daß sich
  173. irgendwelcher Müll im Lexikon befindet. Diese Datei ist eine
  174. Textdatei, deshalb kann man sie mit der Editor verändern, z.B. Worte
  175. löschen, und dann mit "ExpandLex" als Quelldatei für die Generierung
  176. eines Lexikons benutzen.
  177.  
  178. Übrigens werden auch beim Anklicken von CleanLex alle gelöschten Worte
  179. in die Datei T:CleanLex.Txt exportiert. Aus dieser Datei kann man z.B.
  180. alle wirklich unerwünschten Worte löschen und den Rest dann mit
  181. ExpandLex wieder dem Lexikon hinzufügen.
  182.  
  183. Das sollte eigentlich für die Benutzung des SpellChecker ausreichen,
  184. nähere Information steht in File "Weitere Information".
  185.  
  186. Noch etwas: Das Programm sollte im Prinzip auch mit anderen Sprachen
  187. als Deutsch oder Englisch funktionieren, allerdings sollte man für
  188. jede Sprache ein eigenes Lexikon anlegen.
  189.  
  190. Stefan Salewski, 1. März 1990
  191.  
  192.  
  193. Noch etwas zu den Lexika:
  194. ~~~~~~~~~~~~~~~~~~~~~~~~~
  195. Mit dem SpellChecker liefere ich die Lexika GermanLexikon und
  196. EnglishLexikon mit. Für die Generierung des deutschen Lexikons habe
  197. ich die Texte des Diskmagazins AmigaJUICE 15 & 16, einige Dok-Files
  198. der AMOK-PD-Disks und einige eigene Textfiles benutzt. Das erzeugte
  199. Lexikon enthielt ursprünglich ca. 14000 Worte. Nach zweimaligem
  200. anklicken von "CleanLex" waren es allerdings nur noch ca. 6000. Ich
  201. habe das Lexikon dann zur Kontrolle noch einmal exportiert,
  202. durchgesehen und wieder importiert. Beim Durchsehen mußte ich leider
  203. doch noch einige hundert Worte löschen. Insbesondere waren noch viele
  204. Namen und Computerausdrücke wie "rastPort" u.s.w vorhanden. Auch waren
  205. einige Worte in großer Schreibweise vorhanden. Der Grund dafür ist,
  206. das in einigen Texten neue Sätze angefangen werden, ohne den
  207. vorherigen Satz mit einem Satzzeichen zu beenden. Deshalb funktioniert
  208. die Prozedur, die bei der Generierung jeweils das erste Wort eines
  209. Satzes ignorieren soll, dann nicht korrekt. Falls man also ein Lexikon
  210. selber generieren will, empfiehlt es sich doch, es zu exportieren, es in
  211. einen Editor einzuladen und durchzusehen. Das ist allerdings keine
  212. sehr große Mühe; ich habe für die 6000 Worte ca 2 Stunden gebraucht.
  213.  
  214. Für die Generierung des englischen Lexikons habe ich die Doc-Files der
  215. Fish-Disketten benutzt. Dabei entstand aus einem 1 MByte großen
  216. Quelltext ein Lexikon mit ca. 7000 Worten. Auch hier habe ich durch
  217. zweimaliges Anklicken von "CleanLex" alle Worte, die nur ein- oder
  218. zweimal vorkamen, gelöscht, so daß noch ca 4000 Worte übrig blieben.
  219. Diese habe ich dann ebenfalls exportiert und mit einen Editor (DME)
  220. durchgesehen, wobei ich jeden mir unbekannte Wort gelöscht habe.
  221. Zusätzlich habe ich noch alle groß geschriebenen Worte ( hauptsächlich
  222. Namen) gelöscht, so daß nur ca 3000 Worte übrig geblieben sind.
  223.  
  224. Die Lexika sind also etwas kleiner geworden, als ich ursprünglich
  225. geplant hatte, aber dafür enthalten sie wohl auch kaum
  226. Rechtschreibfehler und nur wirklich häufig benutzte Worte. Wer eigene
  227. Texte hat, kann sie ja mit "ExpandLex" jederzeit erweitern, aber auch
  228. bei der normalen Benutzung mit "CheckText" werden sie sich allmählich
  229. vergrößern.
  230.  
  231. Stefan Salewski, 21.3.90
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.